#include "TcpServer.hpp"
#include "IOService.hpp"
#include "Dispose.hpp"
void Useage(const std::string& str)
{
    std::cout << "Useage:\n\t" << str << " port \n";
    exit(USE_ERR);
}



int main(int argc, char* argv[])
{
    if(argc != 2)
    {
        Useage(argv[0]);
    }

    uint16_t port = std::stoi(argv[1]);

    IOService ser(Dispose);
    std::unique_ptr<TcpServer> tsvr = std::make_unique<TcpServer>(port, std::bind(&IOService::Service, &ser, std::placeholders::_1, std::placeholders::_2));
    tsvr->Loop();
    return 0;
}